/*
 * Tencent is pleased to support the open source community by making BlueKing available.
 * Copyright (C) 2017-2018 THL A29 Limited, a Tencent company. All rights reserved.
 * Licensed under the MIT License (the "License"); you may not use this file except
 * in compliance with the License. You may obtain a copy of the License at
 * http://opensource.org/licenses/MIT
 * Unless required by applicable law or agreed to in writing, software distributed under
 * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
 * either express or implied. See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.tencent.bk.codecc.apiquery.task.dao.mongotemplate;

import com.tencent.bk.codecc.apiquery.task.model.PlatformInfoModel;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * Platform信息持久层代码
 *
 * @version V2.0
 * @date 2020/1/11
 */
@Repository
public class PlatformInfoDao
{
    @Autowired
    @Qualifier("taskMongoTemplate")
    private MongoTemplate mongoTemplate;



    /**
     * 按条件获取Platform信息
     *
     * @param toolName   工具名
     * @param platformIp ip
     * @return list
     */
    public List<PlatformInfoModel> findByToolNameAndIp(String toolName, String platformIp)
    {
        Query query = new Query();
        query.addCriteria(Criteria.where("tool_name").is(toolName).and("ip").is(platformIp));

        return mongoTemplate.find(query, PlatformInfoModel.class, "t_platform_info");
    }


}
